package com.yuxi.Dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.yuxi.Entity.PrisonStructure;
import com.yuxi.Entity.UserInfo;


/**
 *监狱结构操作接口
 * @author hunter
 * @version 1.0
 * 2016/07/18
 */

@Repository
public interface PrisonStructureDao {
	/**
	 * 通过pStructureId获取PrisonStructure
	 * @param 	pStructureId
	 * @return PrisonStructure 
	 * */
	public PrisonStructure getStructure(Integer pStructureId);
	/**
	 * 添加一个PrisonStructure  并返回添加的实体类
	 * @param 	pStructureId
	 * @return PrisonStructure 
	 * */
	public PrisonStructure addStructure(PrisonStructure pStructure);
	/**
	 * 删除一个userInfo  并返回删除的实体类
	 * @param 	pStructure UserInfo实体类
	 * @return UserInfo 
	 * */
	public void deleteStructure(PrisonStructure pStructure);
	/**
	 * 修改一个PrisonStructure  并返回修改的实体类
	 * @param pStructure PrisonStructure实体类
	 * @return PrisonStructure 
	 * */
	public void modifly(PrisonStructure pStructure);
	/**
	 * 获取所有的监狱结构 
	 * @return List<PrisonStructure> 
	 * */
	public List<PrisonStructure> getAllStructure();
	/**
	 * 获取所有上级为superId的监狱结构
	 * @param superId
	 * @return List<PrisonStructure>  
	 * */
	public List<PrisonStructure> getAllStructureBySuperId(Integer superId);
	/**
	 * 获取所有的监狱上级结构
	 * @param 	
	 * @return  List<PrisonStructure> 
	 * */
	public  List<PrisonStructure> getAllSuperStructure( );
	/**
	 * 获取所有的监区
	 * @param 	
	 * @return  List<PrisonStructure> 
	 * */
	public  List<PrisonStructure> getAllPrisonArea( );
	
	/**
	 * 
	 * 
	 * */
	
	public List<UserInfo> getStructureALLUser(Integer structId);
	public List<PrisonStructure> getDepartmentAndPrisonArea();
	/**
	 * 
	 * */
	public List<PrisonStructure> getAllPrisonStructure();
	public List<PrisonStructure> getAllPrisonAreaStructure();
	public List<PrisonStructure> getAllPrisonAndAreaStructure();
	public List<PrisonStructure> getAllQuestionStructure();
}
